Proxy এবং Data ফেচ করা (AJAX, REST, JSON)

Web Development - এক্সটিজেএস (ExtJS) - ExtJS Data Package এবং Stores |

ExtJS তে ডেটা ম্যানেজমেন্টের জন্য Proxy একটি গুরুত্বপূর্ণ উপাদান, যা ক্লায়েন্ট এবং সার্ভারের মধ্যে ডেটা বিনিময় পরিচালনা করে। এটি ডেটার লোডিং, সেভিং, আপডেটিং এবং ডিলিটিং ইত্যাদি কাজ করে। AJAX, REST এবং JSON পদ্ধতি ব্যবহার করে ডেটা ফেচ করা খুবই সহজ, এবং ExtJS এর Proxy আপনাকে এই কাজগুলো সহজভাবে সম্পন্ন করতে সহায়তা করে।

এখানে আমরা Proxy ব্যবহার করে AJAX, REST, এবং JSON পদ্ধতিতে ডেটা ফেচ করার পদ্ধতি বিস্তারিতভাবে আলোচনা করব।


১. ExtJS Proxy এর ভূমিকা

Proxy ExtJS এর একটি শক্তিশালী অংশ যা ডেটা স্টোরের সাথে যোগাযোগের মাধ্যম হিসেবে কাজ করে। এটি বিভিন্ন ধরনের ডেটা পরিবহন কৌশল যেমন AJAX, REST, এবং JSON হ্যান্ডল করতে পারে।

  • Proxy ডেটার সোর্সের সাথে যোগাযোগ করার জন্য বিভিন্ন টেকনিক (যেমন AJAX, REST, SOAP) ব্যবহার করে।
  • এটি ডেটা ফেচ এবং সেভ করার জন্য reader, writer, এবং actionMethods কনফিগারেশন ব্যবহার করে।

২. AJAX Proxy ব্যবহার করে ডেটা ফেচ করা

AJAX (Asynchronous JavaScript and XML) একটি সাধারণ প্রযুক্তি যা সার্ভারের সাথে অ্যাসিঙ্ক্রোনাস কমিউনিকেশন চালু রাখে, যার মাধ্যমে পেজ রিফ্রেশ ছাড়াই ডেটা এক্সচেঞ্জ করা সম্ভব।

AJAX Proxy উদাহরণ:

Ext.define('MyApp.store.Users', {
    extend: 'Ext.data.Store',
    model: 'MyApp.model.User',
    proxy: {
        type: 'ajax', // Proxy টাইপ AJAX
        url: '/users', // সার্ভার থেকে ডেটা ফেচ করার URL
        reader: {
            type: 'json', // JSON ফর্ম্যাটে ডেটা রিড করা হবে
            rootProperty: 'data' // JSON রেসপন্সে ডেটার মূল অংশ
        },
        writer: {
            type: 'json' // JSON ফর্ম্যাটে ডেটা সেভ হবে
        }
    },
    autoLoad: true // স্টোরটি অটোমেটিক্যালি লোড হবে
});
  • type: 'ajax': AJAX পদ্ধতি ব্যবহার করা হয়েছে।
  • url: '/users': সার্ভার থেকে ডেটা লোড করার জন্য URL দেওয়া হয়েছে।
  • reader: সার্ভারের JSON রেসপন্সের জন্য একটি reader কনফিগার করা হয়েছে।
  • autoLoad: true: স্টোরটি অ্যাপ্লিকেশন লোডের সাথে সাথেই ডেটা লোড করবে।

৩. REST Proxy ব্যবহার করে ডেটা ফেচ করা

REST (Representational State Transfer) একটি সাধারণ আর্কিটেকচারাল স্টাইল যা HTTP প্রটোকল ব্যবহার করে ডেটা ট্রান্সফার করে। এটি মূলত CRUD (Create, Read, Update, Delete) অপারেশন পরিচালনা করার জন্য ব্যবহৃত হয়।

REST Proxy উদাহরণ:

Ext.define('MyApp.store.Users', {
    extend: 'Ext.data.Store',
    model: 'MyApp.model.User',
    proxy: {
        type: 'rest', // Proxy টাইপ REST
        url: '/api/users', // সার্ভারের REST API URL
        reader: {
            type: 'json', // JSON ফরম্যাটে ডেটা রিড হবে
            rootProperty: 'users'
        },
        writer: {
            type: 'json' // JSON ফরম্যাটে ডেটা সেভ হবে
        },
        actionMethods: {
            create: 'POST', // নতুন ডেটা যুক্ত করার জন্য HTTP POST ব্যবহার
            read: 'GET',    // ডেটা পড়ার জন্য HTTP GET ব্যবহার
            update: 'PUT',  // ডেটা আপডেট করার জন্য HTTP PUT ব্যবহার
            destroy: 'DELETE' // ডেটা মুছে ফেলার জন্য HTTP DELETE ব্যবহার
        }
    },
    autoLoad: true // স্টোরটি অটোমেটিক্যালি লোড হবে
});
  • type: 'rest': RESTful API পদ্ধতি ব্যবহার করা হয়েছে।
  • url: '/api/users': REST API এর URL নির্ধারণ করা হয়েছে।
  • actionMethods: CRUD অপারেশন পরিচালনা করতে HTTP মেথড (GET, POST, PUT, DELETE) কনফিগার করা হয়েছে।

৪. JSON Proxy ব্যবহার করে ডেটা ফেচ করা

JSON (JavaScript Object Notation) একটি লাইটওয়েট ডেটা ইন্টারচেঞ্জ ফরম্যাট। ExtJS তে JSON ফরম্যাটে ডেটা রিড এবং রাইট করার জন্য JSON Proxy ব্যবহার করা হয়।

JSON Proxy উদাহরণ:

Ext.define('MyApp.store.Users', {
    extend: 'Ext.data.Store',
    model: 'MyApp.model.User',
    proxy: {
        type: 'ajax', // AJAX মাধ্যমে ডেটা ফেচ করা
        url: '/users', // JSON ডেটার জন্য URL
        reader: {
            type: 'json', // JSON রিডার
            rootProperty: 'data' // JSON রেসপন্সে ডেটার মূল অংশ
        },
        writer: {
            type: 'json' // JSON লেখার জন্য writer ব্যবহার
        }
    },
    autoLoad: true // স্টোরটি অটোমেটিক্যালি লোড হবে
});
  • type: 'ajax': AJAX পদ্ধতি ব্যবহার করা হচ্ছে।
  • reader: JSON রিডারটি ডেটার মূল অংশ data থেকে ডেটা রিড করবে।
  • writer: JSON লেখার জন্য writer কনফিগার করা হয়েছে।

৫. Proxy ব্যবহার করে ডেটা আপডেট এবং ডিলিট করা

ExtJS এ Proxy ব্যবহার করে আপনি Create, Read, Update, এবং Delete (CRUD) অপারেশন সমর্থন করতে পারেন। নিচে একটি উদাহরণ দেওয়া হল যেটি ডেটা সেভ (UPDATE) এবং ডিলিট (DELETE) করতে ব্যবহৃত হয়।

উদাহরণ: ডেটা আপডেট (UPDATE) করা

var user = Ext.create('MyApp.model.User', {
    id: 1,
    name: 'John Doe',
    email: 'john.doe@example.com'
});

// স্টোরে ডেটা আপডেট করা
user.save({
    success: function() {
        console.log('User updated successfully');
    },
    failure: function() {
        console.log('Failed to update user');
    }
});

উদাহরণ: ডেটা ডিলিট (DELETE) করা

var user = Ext.create('MyApp.model.User', {
    id: 1
});

// ডেটা মুছে ফেলা
user.erase({
    success: function() {
        console.log('User deleted successfully');
    },
    failure: function() {
        console.log('Failed to delete user');
    }
});

সারাংশ

  1. AJAX Proxy: সার্ভারের সাথে অ্যাসিঙ্ক্রোনাস যোগাযোগ পরিচালনা করে এবং JSON ডেটা ফেচ করে।
  2. REST Proxy: RESTful API ব্যবহার করে HTTP মেথড (GET, POST, PUT, DELETE) মাধ্যমে ডেটা পরিচালনা করা হয়।
  3. JSON Proxy: JSON ফরম্যাটে ডেটা পাঠানো এবং গ্রহণ করার জন্য ব্যবহৃত হয়।

ExtJS তে Proxy ব্যবহার করে আপনি সোজা এবং কার্যকরভাবে বিভিন্ন ডেটা সোর্সের সাথে যোগাযোগ করতে পারেন এবং CRUD অপারেশনগুলো খুবই সহজে পরিচালনা করতে পারেন।

Content added By
Promotion